home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 038a / qbcmnt11.zip / BOXES.BAK next >
Text File  |  1991-02-26  |  5KB  |  149 lines

  1.  
  2. ' Subprograms
  3.   DECLARE SUB DoubleBorderBox (tr%, br%, lc%, rc%)
  4.   DECLARE SUB DoubleBorderFullShadeBox (tr%, br%, lc%, rc%, sc%)
  5.   DECLARE SUB HalfShadeBox (tr%, br%, lc%, rc%, bg%, bc%, sc%)
  6.   DECLARE SUB NoBorderBox (tr%, br%, lc%, rc%)
  7.   DECLARE SUB NoBorderFullShadeBox (tr%, br%, lc%, rc%, sc%)
  8.   DECLARE SUB SingleBorderBox (tr%, br%, lc%, rc%)
  9.   DECLARE SUB SingleBorderFullShadeBox (tr%, br%, lc%, rc%, sc%)
  10.  
  11. ' Beginning of the module level
  12.  
  13.   ' Demonstrate the different boxes drawn by BOXES.BAS
  14.  
  15.   ' Clear screen to black on white with a grey border
  16.     COLOR 8, 7, 8: CLS
  17.  
  18.   ' Draw a box with no border and no shade
  19.     COLOR 15, 1: NoBorderBox 2, 12, 2, 25
  20.     LOCATE 6, 10: PRINT "No border"
  21.     LOCATE 8, 10: PRINT "No shade"
  22.  
  23.   ' Draw a box with a single border but no shade
  24.     SingleBorderBox 2, 12, 28, 52
  25.     LOCATE 6, 34: PRINT "Single border"
  26.     LOCATE 8, 34: PRINT "No shade"
  27.  
  28.   ' Draw a box with a double border but no shade
  29.     DoubleBorderBox 2, 12, 55, 79
  30.     LOCATE 6, 61: PRINT "Double border"
  31.     LOCATE 8, 61: PRINT "No shade"
  32.  
  33.   ' Draw a box with no border but with full shade
  34.     NoBorderFullShadeBox 14, 24, 2, 25, 0
  35.     COLOR 15, 1: LOCATE 18, 8: PRINT "No border"
  36.     LOCATE 20, 8: PRINT "Full shade"
  37.  
  38.   ' Draw a box with a single border and full shade
  39.     SingleBorderFullShadeBox 14, 24, 28, 52, 0
  40.     COLOR 15, 1: LOCATE 18, 33: PRINT "Single border"
  41.     LOCATE 20, 33: PRINT "Full shade"
  42.  
  43.   ' Draw a box with a double border and full shade
  44.     DoubleBorderFullShadeBox 14, 24, 55, 79, 0
  45.     COLOR 15, 1: LOCATE 18, 60: PRINT "Double border"
  46.     LOCATE 20, 60: PRINT "Full shade"
  47.     BEEP: DO: LOOP UNTIL INKEY$ <> ""
  48.  
  49.   ' Draw a box with no border and a half shade
  50.     COLOR 8, 7, 8: CLS
  51.     HalfShadeBox 7, 19, 26, 55, 7, 1, 0
  52.     COLOR 15, 1: LOCATE 12, 35: PRINT "No border"
  53.     LOCATE 14, 35: PRINT "Half shade"
  54.     BEEP: DO: LOOP UNTIL INKEY$ <> ""
  55.  
  56.   ' Clear screen to white on blue with a grey border
  57.     COLOR 15, 1, 8: CLS
  58.  
  59.   ' End of the module level
  60.     END
  61.  
  62. SUB DoubleBorderBox (tr%, br%, lc%, rc%) STATIC
  63.  
  64.   LOCATE tr%, lc%: PRINT CHR$(201); STRING$(rc% - lc% - 1, 205); CHR$(187);
  65.   FOR i% = tr% + 1 TO br% - 1
  66.     LOCATE i%, lc%: PRINT CHR$(186); STRING$(rc% - lc% - 1, 32); CHR$(186);
  67.   NEXT i%
  68.   LOCATE br%, lc%: PRINT CHR$(200); STRING$(rc% - lc% - 1, 205); CHR$(188);
  69.  
  70. END SUB
  71.  
  72. SUB DoubleBorderFullShadeBox (tr%, br%, lc%, rc%, sc%) STATIC
  73.  
  74.   LOCATE tr%, lc%: PRINT CHR$(201); STRING$(rc% - lc% - 3, 205); CHR$(187);
  75.   FOR i% = tr% + 1 TO br% - 2
  76.     LOCATE i%, lc%: PRINT CHR$(186); STRING$(rc% - lc% - 3, 32); CHR$(186);
  77.   NEXT i%
  78.   LOCATE br% - 1, lc%
  79.   PRINT CHR$(200); STRING$(rc% - lc% - 3, 205); CHR$(188);
  80.   COLOR , sc%
  81.   FOR i% = tr% + 1 TO br%
  82.     LOCATE i%, rc% - 1: PRINT STRING$(2, 32);
  83.   NEXT i%
  84.   LOCATE br%, lc% + 2: PRINT STRING$(rc% - lc% - 1, 32);
  85.  
  86. END SUB
  87.  
  88. SUB HalfShadeBox (tr%, br%, lc%, rc%, bg%, bc%, sc%) STATIC
  89.  
  90.   COLOR bc%: LOCATE tr%, lc%: PRINT STRING$(rc% - lc%, 220);
  91.   FOR i% = tr% + 1 TO br% - 1
  92.     LOCATE i%, lc%: PRINT STRING$(rc% - lc%, 219);
  93.   NEXT i%
  94.   LOCATE br%, lc%: PRINT CHR$(223);
  95.   COLOR , sc%: PRINT STRING$(rc% - lc% - 1, 223);
  96.   FOR i% = tr% + 1 TO br%
  97.     LOCATE i%, rc%: PRINT CHR$(32);
  98.   NEXT i%
  99.  
  100. END SUB
  101.  
  102. SUB NoBorderBox (tr%, br%, lc%, rc%) STATIC
  103.  
  104.   FOR i% = tr% TO br%
  105.     LOCATE i%, lc%: PRINT STRING$(rc% - lc% + 1, 32);
  106.   NEXT i%
  107.  
  108. END SUB
  109.  
  110. SUB NoBorderFullShadeBox (tr%, br%, lc%, rc%, sc%) STATIC
  111.  
  112.   FOR i% = tr% TO br% - 1
  113.     LOCATE i%, lc%: PRINT STRING$(rc% - lc% - 1, 32);
  114.   NEXT i%
  115.   COLOR , sc%
  116.   FOR i% = tr% + 1 TO br%
  117.     LOCATE i%, rc% - 1: PRINT STRING$(2, 32);
  118.   NEXT i%
  119.   LOCATE br%, lc% + 2: PRINT STRING$(rc% - lc% - 1, 32);
  120.  
  121. END SUB
  122.  
  123. SUB SingleBorderBox (tr%, br%, lc%, rc%) STATIC
  124.  
  125.   LOCATE tr%, lc%: PRINT CHR$(218); STRING$(rc% - lc% - 1, 196); CHR$(191);
  126.   FOR i% = tr% + 1 TO br% - 1
  127.     LOCATE i%, lc%: PRINT CHR$(179); STRING$(rc% - lc% - 1, 32); CHR$(179);
  128.   NEXT i%
  129.   LOCATE br%, lc%: PRINT CHR$(192); STRING$(rc% - lc% - 1, 196); CHR$(217);
  130.  
  131. END SUB
  132.  
  133. SUB SingleBorderFullShadeBox (tr%, br%, lc%, rc%, sc%) STATIC
  134.  
  135.   LOCATE tr%, lc%: PRINT CHR$(218); STRING$(rc% - lc% - 3, 196); CHR$(191);
  136.   FOR i% = tr% + 1 TO br% - 2
  137.     LOCATE i%, lc%: PRINT CHR$(179); STRING$(rc% - lc% - 3, 32); CHR$(179);
  138.   NEXT i%
  139.   LOCATE br% - 1, lc%
  140.   PRINT CHR$(192); STRING$(rc% - lc% - 3, 196); CHR$(217);
  141.   COLOR , sc%
  142.   FOR i% = tr% + 1 TO br%
  143.     LOCATE i%, rc% - 1: PRINT STRING$(2, 32);
  144.   NEXT i%
  145.   LOCATE br%, lc% + 2: PRINT STRING$(rc% - lc% - 1, 32);
  146.  
  147. END SUB
  148.  
  149.